package org.flexthinker.binding.ui.form.binding
{
    import flash.display.DisplayObject;

    import spark.components.ComboBox;
    import spark.components.Label;
    import spark.components.List;
    import spark.components.TextInput;
    import spark.components.supportClasses.SkinnableComponent;

    public class MockForm extends SkinnableComponent implements BindableUIForm
    {
        [SkinPart]
        public var label:Label;

        [SkinPart]
        public var text:TextInput;

        [SkinPart]
        public var comboBox:ComboBox;

        [SkinPart]
        public var list:List;

        public function MockForm()
        {
        }

        public function getBindableElements():Vector.<DisplayObject>
        {
            return new <DisplayObject>[label, text, comboBox, list ];
        }

        public function simulatePartAdded(partName:String, instance:Object ):void
        {
            partAdded(partName, instance);
        }

        public function simulatePartRemoved(partName:String,  instance:Object ):void
        {
            partRemoved(partName, instance);
        }
    }
}
